#ifndef __MY_GPIO_H_
#define __MY_GPIO_H_

#include "board_desc.h"
#include "stm32f4xx_hal.h"

	
typedef struct {
	unsigned char gpio_group;	//GPIO组
	GPIO_TypeDef *gpio_type;
	uint32_t *port_type;
	IRQn_Type irqn_Type;
}T_GPIO_GROUP_MAPPING;


typedef struct {
	unsigned char gpio_group;	//GPIO组
	unsigned char gpio_virtual_pin;
}T_GPIO_IRQ_MAPPING;

void gpio_irg_handle(void);
int8_t get_gpio_val(enum egpio_pin_name pin_name, uint8_t *val);
int8_t set_gpio_level(enum egpio_pin_name pin_name, uint8_t level);
void set_gpio_toggle(enum egpio_pin_name pin_name);
int8_t init_gpio(void);



#endif
